#ifndef MANAGER_H
#define MANAGER_H

#include <QVector>
#include <QString>

#include "common_utilities.h"

class Manager
{

public:
    static Manager* getManager();

private:
    Manager();

public:
    Test getNextTest();
    Test generateTest(int);
    void loadTests();
    void print();
    void updateTestStatistics(int i, bool b);

private:
    void loadOptions(const QString& category, const QString& language);
    QVector<int> generateUniqueNumbers(int a, int b, int c, QVector<int> d = QVector<int>()) const;

public:
    QString m_language;
    QString m_category;

private:
    static Manager* manager;
    QVector <Option> listOfOptions;
    int m_maxProbability;
};

#endif // MANAGER_H
